#ifndef __GGEAR_SIZE2_H
#define __GGEAR_SIZE2_H

#include "ggear_types.h"

namespace ggear
{
	namespace gfx
	{
		template<class _Tx>
		struct Size2
		{
			//! Convert Size2 structure to Win32's RECT structure 
			operator RECT()
			{
				RECT rect;
				rect.left = 0;		
				rect.top = 0;
				rect.right = Width;	
				rect.bottom = Height;
				return rect;
			}

			//! Properties
			union
			{
				struct 
				{
					_Tx Width;
					_Tx Height;
				};
				_Tx Dimension[2];
			};
		};

		typedef Size2<s32> Size2i;

		typedef Size2<u32> Size2u;

		typedef Size2<f32> Size2f;

		typedef Size2<f64> Size2d;
	}
}

#endif